package com.example.cloudmusic.home.repository

import com.example.cloudmusic.home.model.*

/**
 * 首页数据仓库接口
 */
interface HomeRepository {
    /**
     * 获取首页所有数据
     */
    suspend fun getHomeData(): Result<List<HomeItem>>

    /**
     * 获取轮播图数据
     */
    suspend fun getBanners(): Result<List<Banner>>

    /**
     * 获取推荐歌单
     */
    suspend fun getRecommendedPlaylists(): Result<List<Playlist>>

    /**
     * 获取热门艺人
     */
    suspend fun getHotArtists(): Result<List<Artist>>

    /**
     * 获取个人歌单
     */
    suspend fun getPersonalPlaylists(): Result<List<Playlist>>

    /**
     * 获取音乐风格
     */
    suspend fun getMusicStyles(): Result<List<MusicStyle>>

    /**
     * 获取推荐歌曲
     */
    suspend fun getRecommendedMusics(): Result<List<Music>>
}